package com.integral.service;

import java.util.Date;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.integral.dao.IBankTypeDao;
import com.integral.entity.BankType;
import com.integral.vo.BankTypeVo;

/**
 * @Description: 银行产品信息表Service类
 * @author zhaofan
 * @date 2018年05月08日 上午01:20:27
 */
@Service("bankTypeService")
public class BankTypeService {
	
	/**
	 * 注入银行产品信息表Dao
	 */
	@Resource
	private IBankTypeDao bankTypeDao;
	
	/**
	 * @Description: 新增银行产品信息表
	 * @param bankType 银行产品信息表
	 * @return 受影响行数
	 * @author zhaofan
	 * @date 2018年05月08日 上午01:20:27
	 */
	public int addBankType(BankType bankType) {
		bankType.setCreateEmp("SYS");
		bankType.setCreateTime(new Date());
		bankType.setDeleteFlag(0);
		return bankTypeDao.addBankType(bankType);
	}
	
	/**
	 * @Description: 修改银行产品信息表
	 * @param bankType 银行产品信息表
	 * @return 受影响行数
	 * @author zhaofan
	 * @date 2018年05月08日 上午01:20:27
	 */
	public int updateById(BankType bankType) {
		return bankTypeDao.updateById(bankType);
	}
	
	/**
	 * @Description: 删除银行产品信息表
	 * @param id 主键
	 * @return 受影响行数
	 * @author zhaofan
	 * @date 2018年05月08日 上午01:20:27
	 */
	public int deleteById(Long id) {
		return bankTypeDao.deleteById(id);
	}
	
	/**
	 * @Description: 根据ID查询银行产品信息表
	 * @param id 主键
	 * @return 银行产品信息表
	 * @author zhaofan
	 * @date 2018年05月08日 上午01:20:27
	 */
	public BankType findById(Long id) {
		return bankTypeDao.findById(id);
	}
	
	/**
	 * 查询银行产品信息总记录数
	 * @param bankTypeVo
	 * @return
	 */
	public Long findBankTypeCount(BankTypeVo bankTypeVo){
		return bankTypeDao.findBankTypeCount(bankTypeVo);
	}
	/**
	 * 查询银行产品信息列表
	 * @param bankTypeVo
	 * @return
	 */
	public List<BankTypeVo> findBankType(BankTypeVo bankTypeVo){
		return bankTypeDao.findBankType(bankTypeVo);
	}
	/**
	 * 根据银行产品编码查询
	 * @return
	 */
	public BankType findByBankTypeCode(String bankTypeCode){
		return bankTypeDao.findByBankTypeCode(bankTypeCode);
	}
	
	/**
	 * 查询银行产品
	 * @param bankTypeVo
	 * @return
	 */
	public BankType findByBankType(BankTypeVo bankTypeVo){
		return bankTypeDao.findByBankType(bankTypeVo);
	}
	
	/**
	 * 根据银行编码查询兑换金额最小的银行产品
	 * @param bankTypeVo
	 * @return
	 */
	public BankType findBankTypeByBankCode(BankTypeVo bankTypeVo){
		return bankTypeDao.findBankTypeByBankCode(bankTypeVo);
	}
}